package com.zcy.ui;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class JMenuBarFn extends JMenuBar {
    
    // 构造函数，用于初始化菜单
    public JMenuBarFn() {
        //创建选项
        JMenu functionJMenu = new JMenu("游戏");
        JMenu aboutJMenu = new JMenu("关于");

        //创建菜单选项下的条目对象
        JMenuItem replayItem = new JMenuItem("重新游戏");
        JMenuItem reLoginItem = new JMenuItem("重新登录");
        JMenuItem closeItem = new JMenuItem("关闭游戏");

        JMenuItem accountItem = new JMenuItem("公众号");

        // 为菜单项添加事件监听器
        replayItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 获取当前菜单栏所属的窗口
                JFrame frame = (JFrame) SwingUtilities.getWindowAncestor(JMenuBarFn.this);
                if (frame instanceof GameJFrame) {
                    GameJFrame gameFrame = (GameJFrame) frame;
                    gameFrame.count=0;
                    gameFrame.initData(); // 重新初始化数据
                    gameFrame.initImage(); // 重新初始化图片
                }
            }
        });

        reLoginItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JFrame frame = (JFrame) SwingUtilities.getWindowAncestor(JMenuBarFn.this);
                frame.dispose(); // 关闭当前窗口
                new LoginJFrame(400, 300, "登录系统"); // 打开登录窗口
            }
        });

        closeItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.exit(0); // 退出程序
            }
        });

        accountItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(null, "感谢关注公众号！");
            }
        });

        //游戏菜单添加类目
        functionJMenu.add(replayItem);
        functionJMenu.add(reLoginItem);
        functionJMenu.add(closeItem);

        //关于菜单添加类目
        aboutJMenu.add(accountItem);

        //将菜单添加到菜单栏（this就是当前的JMenuBar对象）
        this.add(functionJMenu);
        this.add(aboutJMenu);
    }
}